Technical Field
Embodiments described herein relate to integrated circuits, and more particularly, to techniques for performing arithmetic operations within integrated circuits.
Description of the Related Art
Computing systems typically include one or more processors or processing cores which are configured to execute program instructions. The program instructions may be stored in one of various locations within a computing system, such as, e.g., main memory, a hard drive, a CD-ROM, and the like.
Processors include various functional blocks, each with a dedicated task. For example, a processor may include an instruction fetch unit, a memory management unit, and an arithmetic logic unit (ALU). An instruction fetch unit may prepare program instruction for execution by decoding the program instructions and checking for scheduling hazards, while arithmetic operations such as addition, subtraction, and Boolean operations (e.g., AND, OR, etc.) may be performed by an ALU. Some processors include high-speed memory (commonly referred to as “cache memories” or “caches”) used for storing frequently used instructions or data
Some arithmetic operations may not have dedicated hardware within an ALU. Such arithmetic operations, such as, e.g., division, may be implemented as a series of program instructions making use of functional blocks within the ALU. In some cases, additional circuitry may be added to an ALU to implement one of various algorithms for performing such arithmetic operations.